Simultaneous sharing of storage drives on blade center

ABSTRACT

A method and system in accordance with the present invention provides a microprocessor on each blade server for providing interfaces at the plurality of blade servers for simultaneous connection with a local or remote drive. The microprocessor can also configure the blade server to simultaneously connect with a plurality of local and/or remote drives. The microprocessor routes data packets between a management system and its respective blade server, while a management module in the management system manages the simultaneous access of the drive(s) by the plurality of blade servers or the plurality of drives by a blade server. This increases the efficiency of the system.

FIELD OF THE INVENTION

The present invention relates to blade centers, and more particularly, to the sharing of storage drives on blade centers.

BACKGROUND OF THE INVENTION

Blade servers are known in the art. For example, a Blade Center provided by International Business Machines Corporation™ comprises fourteen independent blade servers, connected across a backplane through an Ethernet switch. FIG. 1 illustrates a conventional Blade Center. The Blade Center comprises a plurality of blade servers 102 a-102 c managed by a management system 104. The blade servers 102 a-102 c and the management system 104 communicate via a bus according to the Virtual Local Area Network (VLAN) protocol. The management system 104 comprises an Ethernet switch 106 and a management module 108. The management module 108 manages communication between the blade servers 102 a-102 c or between the blade servers 102 a-102 c and an Ethernet network 110. The Ethernet switch 106 routes packets between the management module 108 and the appropriate blade server 102 a-102 c, or between the Ethernet network 110 and the appropriate blade server 102 a-102 c.

However, with the conventional Blade Center, only one of the blade servers 102 a-102 c can connect with a local drive 112 or a remote drive 114 at a time. For a different blade server to connect with the local 112 or remote 114 drive, the blade server currently connected must first be disconnected. This is inefficient and cumbersome.

Accordingly, there exists a need for a method and system for providing simultaneous connection between at least one drive and at least one blade server. The method and system should allow a plurality of blade servers to simultaneously connect with one or more drives. It should also allow the same drive to simultaneously connect with a plurality of blade servers. The present invention addresses such a need.

SUMMARY OF THE INVENTION

A method and system in accordance with the present invention provides a microprocessor on each blade server for providing interfaces at the plurality of blade servers for simultaneous connection with a local or remote drive. The microprocessor can also configure the blade server to simultaneously connect with a plurality of local and/or remote drives. The microprocessor routes data packets between a management system and its respective blade server, while a management module in the management system manages the simultaneous access of the drive(s) by the plurality of blade servers or the plurality of drives by a blade server. This increases the efficiency of the system.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 illustrates a conventional Blade Center.

FIG. 2 illustrates a preferred embodiment of a system for providing simultaneous connection between at least one drive and at least one blade server in accordance with the present invention.

FIG. 3 is a flowchart illustrating a preferred embodiment of a method for providing simultaneous connection between at least one drive and a plurality of blade servers in accordance with the present invention.

FIG. 4 illustrates in more detail a preferred embodiment of a system for providing simultaneous connection between at least one drive and a plurality of blade servers in accordance with the present invention.

FIG. 5 is a flowchart illustrating in more detail the method for providing simultaneous connection between at least one local drive and a plurality of blade servers in accordance with the present invention.

FIG. 6 is a flowchart illustrating the method for providing simultaneous connection between at least one remote drive and a plurality of blade servers in accordance with the present invention.

FIG. 7 is a flowchart illustrating a preferred embodiment of a method for simultaneous connection between at least one blade server and a plurality of drives in accordance with the present invention.

FIG. 8 is a flowchart illustrating in more detail the method for providing simultaneous connection between at least one blade server and a plurality of drives in accordance with the present invention.

DETAILED DESCRIPTION

The present invention provides a method and system for providing simultaneous connection between at least one drive and at least one blade server. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. Thus, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.

To more particularly describe the features of the present invention, please refer to FIGS. 2 through 8 in conjunction with the discussion below.

FIG. 2 illustrates a preferred embodiment of a system for providing simultaneous connection between at least one drive and at least one blade server in accordance with the present invention. The system comprises a plurality of blade servers 202 a-202 c connected to a management system 204 in the backplane. The management system 204 comprises a switch 206 and a management module 208. At least one local drive 212 can be coupled to the management module 208. At least one remote drive 214 can also be coupled to the management module 208 through a network 210 and the switch 206. The management module 208 manages the communications among the blade servers 202 a-202 c, as well as between the blade servers 202 a-202 c and the drives connected to the system, including both the local and remote drives 212 and 214. In the preferred embodiment, the local 212 and/or the remote drive 214 are storage drives, such as CDROM drives or diskette drives. Other types of drives may be possible.

Each blade server 202 a-202 c comprises a microcontroller 216, a hot pluggable bus host controller 218, and a hot pluggable bus 220. The host controller 218 provides an interface to other components of its blade server. The microcontroller 216 routes data packets between the management system 204 and the host controller 218 via the switch 206. It is also capable of configuring an interface for the host controller 218 to communicate with the local 212 or remote drive 214. Because this functionality resides independently on each blade server 202 a-202 c, a plurality of blade servers can connect simultaneously with the same drive. Similarly, each blade 202 a-202 c server can simultaneously connect with a plurality of drives.

FIG. 3 is a flowchart illustrating a preferred embodiment of a method for providing simultaneous connection between at least one drive and a plurality of blade servers in accordance with the present invention. First, a plurality of blade servers 202 a-202 c are configured to simultaneously connect with at least one drive coupled to the management system 204, via step 302. The drive(s) can be either the local drive 212 and/or the remote drive 214. In the preferred embodiment, the microprocessor 216 for the plurality of blade servers 202 a-202 c configures the interfaces to their respective host controllers 218 for connection with the local drive 212 and/or the remote drive 214. The microprocessor 216 for each blade server routes data packets between the management system 204 and the host processor 218. Then, the management system 204, and more particularly the management module 208, manages the shared access to the drive(s) for the plurality of blade servers 202 a-202 c, via step 304.

FIG. 4 illustrates in more detail a preferred embodiment of a system for providing simultaneous connection between at least one drive and a plurality of blade servers in accordance with the present invention. In this preferred embodiment, the switch 206 is an Ethernet switch 406, which communicates with a plurality of blade servers 402 a-402 c via an Ethernet chip 416 on each blade server 402 a-402 c according to the Virtual Local Area Network (VLAN) standard. The VLAN standard is known in the art and will not be described here. The functions of the microprocessor 216 are performed by a digital signal processor (DSP) 408 and a device chip 410 on each blade server 402 a-402 c. The hot pluggable bus 220 is a Universal Serial Bus (USB) 418. In the preferred embodiment, the host controller 412 resides on an Input/Output (I/O) bridge 414. The DSP 408 routes data packets between the management system 404 and device chip 410. The DSP 408 configures the device chip 410 of its blade server to present the interface for the local drive 212 and/or the remote drive 214 to the host controller 412. Alternatively, the function of the DSPs 408 can be performed by a chip (not shown) at the management system 404. Because each blade server 402 a-402 c has its own device chip 410, a plurality of blade servers can simultaneously connect with the same drives, and each blade server can simultaneously connect with a plurality of drives.

FIG. 5 is a flowchart illustrating in more detail the method for providing simultaneous connection between at least one local drive and a plurality of blade servers in accordance with the present invention. First, the management module 208 sends a command to the DSPs 408 on a plurality of blade servers 402 a-402 c to present the local drive(s) 212, via step 502. Next, the DSPs 408 configure the respective device chips 410 on the plurality of blade servers 402 a-402 c to present an interface for the local drive 212, via step 504. Each device chip 410 informs their respective host controllers 412 on the plurality of blade servers 402 a-402 c that the local drive 212 is connected, via step 506. Each of the plurality of blade servers 402 a-402 b can now simultaneously connect with the local drive 212. The management module 208 manages the simultaneous access of the local drive 212 by the plurality of blade servers 402 a-402 c, via step 508.

In accessing the local drive 212, a data packet from the local drive 212 is sent to the management module 208. The management module 208 sends the data packet to the intended blade server via the Ethernet switch 406. The Ethernet switch 406 delivers the data packet to the DSP 408 of the intended blade server via the Ethernet chip 416 on that blade server. The DSP 408 routes the data packet through the device chip 410 to the host controller 412 via the previously configured interface for the local drive 212. Data packets from the blade server to the local drive 212 travel the same return path.

FIG. 6 is a flowchart illustrating the method for providing simultaneous connection between at least one remote drive and a plurality of blade servers in accordance with the present invention. First, the remote system (not shown), to which the remote drive 214 is coupled, sends a request to the management module 208 to connect the remote drive 214 to a plurality of blade servers 404 a-404 c, via step 602. The management module 208 then uploads an applet to the remote system, via step 604, if the applet does not already exist on the remote system. The applet is used to establish a connection to the DSPs 408 on the plurality of blade servers 402 a-402 c, via step 606. The DSPs 408 on the plurality of blade servers 402 a-402 c configure their respective device chips 410 on the plurality of blade servers 402 a-402 c to present an interface for the remote drive 214, via step 608. The device chips 410 inform their respective host controllers 412 on the plurality of blade servers 402 a-402 c that the remote drive 214 is connected, via step 610. The management module 208 then manages the simultaneous access of the remote drive 214 by the plurality of blade servers 402 a-402 c, via step 612.

In accessing the remote drive 214, a data packet from the remote drive 214 is sent to the Ethernet switch 406 through the connection established by the applet. The Ethernet switch 406 sends the data packet to the management module 208. The management module 208 then sends the data packet to the intended blade server via the Ethernet switch 406. The Ethernet switch 406 delivers the data packet to the DSP 408 of the intended blade server via the Ethernet chip 416 on that blade server. The DSP 408 routes the data packet through the device chip 410 to the host controller 412 via the previously configured interface for the remote drive 214. Data packets from the blade server to the remote drive 214 travel the same return path.

In accordance with the present invention, a plurality of blade servers can also simultaneously connect with the same local or remote drive. FIG. 7 is a flowchart illustrating a preferred embodiment of a method for simultaneous connection between at least one blade server and a plurality of drives in accordance with the present invention. At least one blade server is configured to simultaneously connect with a plurality of drives coupled to the management system 204, via step 702. The plurality of drives can be a plurality of local drives 212, a plurality of remote drives 214, for a combination of local drive(s) and remote drive(s). The microprocessor 216 for the blade server(s) configures the interface to its host controller 218 for connection with the plurality of drives. The microprocessor 216 for the blade server(s) routes data packets between the management system 204 and the plurality of drives via the switch 206. Then, the management system 204, and more particularly the management module 208, manages the shared access to the plurality of drive(s) for the blade server(s), via step 704.

FIG. 8 is a flowchart illustrating in more detail the method for providing simultaneous connection between at least one blade server and a plurality of drives in accordance with the present invention. Referring to both FIGS. 4 and 8, for the plurality of drives that are remote drives 214, the remote systems (not shown) to which the remote drives 214 are connected sends requests to the management module 208 to connect the plurality of remote drives 214 to the blade server(s), via step 802. The management module 208 uploads an applet to each of the remote systems, via step 804, if the applet does not already exist on a remote system. The applet establishes connections between the DSP(s) 408 on the blade server(s) and the plurality of remote drives 214, via step 806. For the plurality of drives that are local drives 212, the management module 208 sends a command to the DSP(s) 408 on the blade server(s) to present the plurality of local drives, via step 808.

Then, the DSP(s) 408 on the blade server(s) configures a device chip(s) 410 on the blade server(s) to present a plurality of interfaces for the plurality of local and/or remote drives, via step 810. The device chip(s) 410 informs the host controller(s) 412 on the blade server(s) that the plurality of local and/or remote drives is connected, via step 812. The DSP(s) 408 routes connect/disconnect events of the plurality of local and/or remote drives to the device chip 410 so that the interfaces could appear and disappear as appropriate. The management module 208 then manages the simultaneous access of the plurality of local and/or remote drives by the blade server(s), via step 814.

A method and system for providing simultaneous access between at least one drive and a plurality of blade servers have been disclosed. The method and system provides a microprocessor on each blade server for providing interfaces at the plurality of blade servers for simultaneous connection with a local or remote drive. The microprocessor can also configure the blade server to simultaneously connect with a plurality of local and/or remote drives. The microprocessor routes data packets between a management system and its respective blade server, while a management module in the management system manages the simultaneous access of the drive(s) by the plurality of blade servers or the plurality of drives by a blade server. This increases the efficiency of the system.

Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations to the embodiments and those variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims. 

1. A method for providing simultaneous access between at least one drive and a plurality of blade servers, comprising the steps of: (a) configuring the plurality of blade servers to simultaneously connect with the at least one drive, wherein the plurality of blade servers is managed by a management system, wherein the at least one drive is coupled to the management system; and (b) managing shared access to the at least one drive for the plurality of blade servers by the management system.
 2. The method of claim 1, wherein the configuring step (a) comprises: (a1) sending a command from the management system to a microprocessor at each of the plurality of blade servers to present the at least one drive; and (a2) configuring an interface at each of the plurality of blade servers to connect with the at least one drive in response to the command.
 3. The method of claim 2, wherein the microprocessor comprises a digital signal processor and a device chip.
 4. The method of claim 3, wherein the device chip is a universal serial bus device chip.
 5. The method of claim 2, wherein the microprocessor routes data packets between its corresponding blade server and the management system.
 6. The method of claim 2, wherein the management system routes data packets between the at least one drive and the plurality of blade servers.
 7. The method of claim 2, wherein the sending step (a1) comprises: (a1i) sending a command from a management module at the management system to the microprocessor on each of the plurality of blade servers to present at least one local drive, wherein the at least one local drive is coupled to the management system; (a1ii) configuring a device chip on each of the plurality of blade servers by the corresponding microprocessor on each of the plurality of blade servers to present an interface for the at least one local drive; and (a1iii) informing a host controller on each of the plurality of blade servers by the corresponding device chip on each of the plurality of blade servers that the at least one local drive is connected.
 8. The method of claim 7, wherein the managing step (b) comprises: (b1) managing the shared access to the at least one local drive for the plurality of blade servers by the management module.
 9. The method of claim 2, wherein the sending step (a1) comprises: (a1i) sending a request to a management module at the management system to connect at least one remote drive to the plurality of blade servers, wherein the at least one remote drive is coupled to the management system through a network; (a1ii) establishing a connection to the microprocessor on each of the plurality of blade servers through the management module; (a1iv) configuring a device chip on each of the plurality of blade servers by the corresponding microprocessor on each of the plurality of blade servers to present an interface for the at least one remote drive; and (a1v) informing a host controller on each of the plurality of blade servers by the corresponding device chip on each of the plurality of blade servers that the at least one remote drive is connected.
 10. The method of claim 9, wherein the managing step (b) comprises: (b1) managing the shared access to the at least one remote drive for the plurality of blade servers by the management module.
 11. A method for providing simultaneous connection between a plurality of drives and at least one blade server, comprising the steps of: (a) configuring the at least one blade server to simultaneously connect with the plurality of drives, wherein the at least one blade server is managed by a management system, wherein the plurality of drives is coupled to the management system; and (b) managing shared access to the at least one blade server for the plurality of drives by the management system.
 12. The method of claim 11, wherein the configuring step (a) comprises: (a1) sending a command from the management system to a microprocessor on the at least one blade server to present the plurality of drives; and (a2) configuring a plurality of interfaces at the at least one blade server to connect with the plurality of drives in response to the command.
 13. The method of claim 12, wherein the microprocessor comprises a digital signal processor and a device chip.
 14. The method of claim 13, wherein the device chip is a universal serial bus device chip.
 15. The method of claim 12, wherein the microprocessor routes data packets between the at least one blade server and the management system.
 16. The method of claim 12, wherein the management system routes data packets between the plurality of drives and the at least one blade server.
 17. The method of claim 12, wherein the sending step (a1) comprises: (a1i) sending a command from a management module at the management system to the microprocessor on the at least one blade server to present a plurality of local drives, wherein the plurality of local drives is coupled to the management system; (a1ii) configuring a device chip on the at least one blade server by the microprocessor to present the plurality of interfaces for the plurality of local drives; and (a1iii) informing a host controller on the at least one blade server by the device chip that the plurality of local drives is connected.
 18. The method of claim 17, wherein the managing step (b) comprises: (b1) managing the shared access to the at least one blade server for the plurality of drives by the management module.
 19. The method of claim 12, wherein the sending step (a1) comprises: (a1i) sending a request to a management module at the management system to connect a plurality of remote drives to the at least one blade server, wherein the plurality of remote drives is coupled to the management system through a network; (a1ii) establishing a connection to the microprocessor on the at least one blade server through the management module; (a1iv) configuring a device chip on the at least one blade server by the microprocessor to present a plurality of interfaces for the plurality of remote drives; and (a1v) informing a host controller on the at least one blade server by the device chip that the plurality of remote drives is connected.
 20. The method of claim 19, wherein the managing step (b) comprises: (b1) managing the shared access to the at least one blade server for the plurality of remote drives by the management module.
 21. The method of claim 11, wherein the configuring step (a) comprises: (a1) sending a command from the management system to a microprocessor on the at least one blade server to present at least one local drive and at least one remote drive; and (a2) configuring an interface for the at least one local drive to connect with the at least one local drive, and configuring an interface for the at least one remote drive at the at least one blade server to connect with the at least one remote drive in response to the command.
 22. A system, comprising: a management system; at least one drive connected to the management system; and a plurality of blade servers managed by the management system, wherein the plurality of blade servers are configured to simultaneously connect with the at least one drive, wherein the management system manages shared access to the at least one drive for the plurality of blade servers.
 23. The system of claim 22, wherein the management system comprises a management module for routing data packets between the least one drive and the plurality of blade servers.
 24. The system of claim 22, wherein the at least one drive comprises at least one local drive connected to the management system.
 25. The system of claim 22, wherein the at least one drive comprises at least one remote drive connected to the management system through a network.
 26. The system of claim 22, wherein each of the plurality of blade servers comprises a microprocessor for configuring an interface to connect with the at least one drive.
 27. The system of claim 26, wherein the microprocessor comprises: a device chip; and a digital signal processor for configuring the interface at the device chip to connect with the at least one drive.
 28. The system of claim 26, wherein each of the plurality of blade servers further comprises a host controller.
 29. A system, comprising: a management system; a plurality of drives connected to the management system; and at least one blade server managed by the management system, wherein the at least one blade server is configured to simultaneously connect with the plurality of drives, wherein the management system manages shared access to the at least one blade server for the plurality of drives.
 30. The system of claim 29, wherein the management system comprises a management module for routing data packets between the plurality of drives and the at least one blade server.
 31. The system of claim 29, wherein the plurality of drives comprises at least one local drive connected to the management system and/or at least one remote drive connected to the management system through a network.
 32. The system of claim 29, wherein the at least one blade server comprises a microprocessor for configuring a plurality of interfaces to connect with the plurality of drives.
 33. The system of claim 32, wherein the microprocessor comprises: a device chip; and a digital signal processor for configuring the plurality of interfaces at the device chip to connect with the plurality of drives.
 34. The system of claim 32, wherein the at least one blade server further comprises a host controller.
 35. A computer readable medium with program instructions for providing simultaneous access between at least one drive and a plurality of blade servers, comprising the instructions for: (a) configuring the plurality of blade servers to simultaneously connect with the at least one drive, wherein the plurality of blade servers is managed by a management system, wherein the at least one drive is coupled to the management system; and (b) managing shared access to the at least one drive for the plurality of blade servers by the management system. 